# 这是一个带有x,y双坐标的曲线图。
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
plt.figure(figsize=(8, 6), dpi=80, facecolor='#ffffff')  # 创建一个新的 1 * 1 的子图，接下来的图样绘制在其中的第 1 块（也是唯一的一块）
ax = plt.subplot(111, facecolor='#dddddd')  # 设置子图，背景颜色为#bbbbbb,是灰色
x = np.linspace(-np.pi, np.pi, 50, endpoint=True)
y = np.cos(x)

line1 = ax.scatter(x, y, color='#ff00ff', marker='o', label="ax")  # 散点图，中间没有任何连线。

plt.yticks([-1, 0, +1],
           [r'$-1$', r'$0$', r'$+1$'])  # 注意：这里设置记号时，同时设置了记号的标签。使用了LaTeX
plt.ylabel('ax')

ax1 = ax.twinx()  # 添加第二个坐标轴。,plt指向第二个坐标轴
line2 = ax1.plot(x, x, label='ax1')

lines = [line1, line2[0]]  # 生成两个图线的集合
lineLabels = [line1.get_label(), line2[0].get_label()]  # 生成两个图例的集合

plt.legend(lines, lineLabels, loc='upper right')  # 将图例放在右上角。若输入lower right，代表右下角，以此类推。

# 设置轴记号
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
           [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$0$', r'$\frac{\pi}{2}$', r'$+\pi$'], rotation=-30)  # 旋转30度

plt.title("Twin Y Axis Test")
plt.ylabel('ax1')

plt.show()
